<script>
    export default {
        name: 'TableColumnExpand',
        /**
         * Vue.js 组件提供了一个 functional 开关，
         * 设置为 true 后，就可以让组件变为无状态、无实例的函数化组件。
         * 因为只是函数，所以渲染的开销相对来说，较小。
         */
        functional: true,
        props: {
            row: Object,
            render: Function,
            index: Number,
            column: {
                type: Object,
                default: null,
            },
        },
        render: (h, ctx) => {
            const params = {
                row: ctx.props.row,
                index: ctx.props.index,
            }

            if (ctx.props.column) {
                params.column = ctx.props.column
            }

            return ctx.props.render(h, params)
        }
    }
</script>